#!/bin/bash

# 脚本用于安装必要的工具和依赖，并构建项目

# 检查是否有管理员权限
if [ "$(id -u)" -ne 0 ]; then
    echo "请使用 sudo 或者 root 权限运行此脚本。"
    exit 1
fi

# 更新系统包管理器
echo "更新系统包管理器..."
sudo apt-get update -y

# 安装基本开发工具
echo "安装开发工具..."
sudo apt-get install -y build-essential cmake git

# 安装 Qt5 和相关库
echo "安装 Qt5 和相关库..."
sudo apt-get install -y qt5-qmake qtbase5-dev qtcharts5-dev qt5-qmake qtdeclarative5-dev

# 安装 MySQL 连接库
echo "安装 MySQL C++ 连接库..."
sudo apt-get install -y libmysqlcppconn-dev

# 安装其他必需的依赖项（Boost、EIGEN等）
echo "安装其他依赖..."
sudo apt-get install -y libboost-all-dev libeigen3-dev

# 检查是否已经安装 CMake 3.5 或更高版本
echo "检查 CMake 版本..."
cmake_version=$(cmake --version | head -n 1 | awk '{print \$3}')
required_version="3.5"

if [[ "$(printf '%s\n' "$required_version" "$cmake_version" | sort -V | head -n1)" != "$required_version" ]]; then
    echo "CMake 版本需要至少 3.5，请更新 CMake。"
    exit 1
else
    echo "CMake 版本满足要求 ($cmake_version)。"
fi

# 创建构建目录并进入
echo "创建并进入构建目录..."
mkdir -p build
cd build

# 运行 CMake 配置
echo "运行 CMake 配置..."
cmake ..

# 编译项目
echo "开始编译项目..."
make -j$(nproc)

# 如果构建成功，显示提示信息
if [ $? -eq 0 ]; then
    echo "项目编译成功！"
else
    echo "项目编译失败！"
    exit 1
fi

